#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#define SIZE 64

/**
 * 写管道
 * @return
 */
int main() {
    int fd = -1;
    int ret = -1;
    int i = 0;
    char buf[SIZE];
    //只写的方式打开一个管道文件
    fd = open("fifo",O_WRONLY);
    if(-1 == fd){
        perror("open");
        return 1;
    }
    printf("只写的方式打开一个管道文件\n");
    //写管道
    while(1){
        memset(buf,0,SIZE);
        sprintf(buf,"写管道数据 : %d\n", i++);
        ret = write(fd,buf, strlen(buf));
        if(ret <= 0){
            perror("write");
            break;
        }
        printf("管道数据写入成功 ： %d\n",i -1);
        sleep(1);
    }

    //关闭文件
    close(fd);
    return 0;
}
